/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package detonadores;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Controladores.ControladorInsertar;

/**
 *
 * @author Augusto Andrade
 */
@WebServlet(name = "ProcesarUbicacion", urlPatterns = {"/ProcesarUbicacion"})
public class ProcesarUbicacion extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            
        int Decide=(int)request.getSession().getAttribute("Decide");               
        
        if(Decide==1){
        // Inicia Detonador Insertar Pais    
        ControladorInsertar ControlPais=new ControladorInsertar();
        String DatoPais=request.getParameter("DatoPais");
        String InsertarP=null;
        if(DatoPais.equals("Ingresar")){
        out.println("<script type='text/javascript'>"
        +"alert('No se ingreso ningun País');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }else{
        InsertarP="0,'"+DatoPais.toUpperCase()+"'";
        ControlPais.setContenidoPais(InsertarP);
        ControlPais.IngresarPais();
        if(ControlPais.getContenidoPais()==true){
        out.println("<script type='text/javascript'>"
        +"alert('El país se ingresó Correctamente');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }else{
        out.println("<script type='text/javascript'>"
        +"alert('El país NO se ingresó Correctamente vuelva a intentarlo');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }
        }
        // Finaliza Detonador Insertar Pais 
        }else if(Decide==2){
        // Inicia Detonador Insertar Departamento
        ControladorInsertar ControlDepartamento=new ControladorInsertar();
        String DatoDepartamento=request.getParameter("DatoDepartamento");
        String pais=request.getParameter("pais");
        String InsertarD=null;
        int indicepais = 0;
        // Divisor de cadena         
        int j = 0;
        String [] campos = pais.split("-");
        while(j<campos.length){
        if(j==1){
        indicepais=Integer.parseInt(campos[j]);
        }    
        j++;
        }
        // Finaliza Divisor de cadena
        if(indicepais==0){
        out.println("<script type='text/javascript'>"
        +"alert('La información ingresada en el campo (Ingrese Pais al que pertenece) no es correcta.');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }else{
        if(DatoDepartamento.equals("Ingresar")){
        out.println("<script type='text/javascript'>"
        +"alert('No se ingreso ningun Departamento');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");    
        }else{
        InsertarD="0,'"+DatoDepartamento.toUpperCase()+"',"+indicepais+"";
        ControlDepartamento.setContenidoDepartamento(InsertarD);
        ControlDepartamento.IngresarDepartamento();
        if(ControlDepartamento.getContenidoDepartamento()==true){
        out.println("<script type='text/javascript'>"
        +"alert('El Departamento se ingresó Correctamente');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }else{
        out.println("<script type='text/javascript'>"
        +"alert('El Departamento NO se ingresó Correctamente vuelva a intentarlo');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }
        }
        }
        // Finaliza Detonador Insertar Departamento
        }else if(Decide==3){
        // Inicia Detonador Insertar Municipio o ciudad
        ControladorInsertar ControlMunicipio=new ControladorInsertar();
        String DatoMunicipio=request.getParameter("DatoMunicipio");
        String departamento=request.getParameter("departamento");
        String InsertarM=null;
        int indicedepartamento = 0;
        // Divisor de cadena         
        int j = 0;
        String [] campos = departamento.split("-");
        while(j<campos.length){
        if(j==1){
        indicedepartamento=Integer.parseInt(campos[j]);
        }    
        j++;
        }
        // Finaliza Divisor de cadena
        if(indicedepartamento==0){
        out.println("<script type='text/javascript'>"
        +"alert('La información ingresada en el campo (Ingrese el Departamento al que pertenece)  no es correcta.');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }else{
        if(DatoMunicipio.equals("Ingresar")){
        out.println("<script type='text/javascript'>"
        +"alert('No se ingreso ningun Municipio');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");    
        }else{
        InsertarM="0,'"+DatoMunicipio.toUpperCase()+"',"+indicedepartamento+"";
        ControlMunicipio.setContenidoMunicipio(InsertarM);
        ControlMunicipio.IngresarMunicipio();
        if(ControlMunicipio.getContenidoMunicipio()==true){
        out.println("<script type='text/javascript'>"
        +"alert('El Registro se ingresó Correctamente');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }else{
        out.println("<script type='text/javascript'>"
        +"alert('El Registro NO se ingresó Correctamente vuelva a intentarlo');"
        +"pagina='Ubicacion.jsp';"
        +"function redireccionar(){location.href=pagina;}" 
        +"setTimeout ('redireccionar()', 0);"
        +"</script>");
        }
        }
        }
        // Finaliza Detonador Insertar Municipio o ciudad
        }
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
